import com.mysql.cj.jdbc.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Insert_Demo {
    public static void main(String[] args) throws SQLException {
        //1、创建"数据源" （DataSource)
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/work_0318?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("1234");

        //2、与数据库服务器建立连接
        Connection connection = dataSource.getConnection();

        //3、创建能操作数据库的 sql 命令
        String sql = "insert into test values (18,'张三')";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);


        //4、执行 SQL：把刚刚解析好的语句发送给数据库服务器
        //      返回值是一个int 类型的数，表明操作影响了几行
        int n = preparedStatement.executeUpdate();
        System.out.println("n = " + n);

        //5、释放资源 （先使用的后释放
        //   主要是释放 语句对象 和 连接对象，DataSource不需要释放
        preparedStatement.close();
        connection.close();

    }
}
